home *** CD-ROM | disk | FTP | other *** search
GW-BASIC | 1990-01-20 | 3.7 KB | 158 lines |
- 5 CLS
- 10 DIM AI1(10),AL(10),M12(10),M21(10),SM12(10),SM21(10)
- 20 DIM M13(10),M31(10),MA(10),MB(10),ML(10),MR(10),BALMR(10,10)
- 40 DIM DFL(10),DFR(10),MTL(10),MTR(10),BALML(10,10),W(10),PT1(10)
- 50 DIM COML(10,10),COMR(10,10),P(10,10),DIST(10,10),PT(10),R(10),TM(10)
- 60 PRINT " INTER NO OF ELEMENTS"
- 70 INPUT NOE
- 80 NOS=NOE+1
- 90 PRINT " FOR PINNED SUPPORT TYPE (P)"
- 100 PRINT " FOR FIXED SUPPORT TYPE (F)"
- 110 PRINT " SUPPORT #1 IS..(P/F)"
- 120 INPUT NS1$
- 130 PRINT " SUPPORT #";NOS;" IS.."
- 140 INPUT NS2$
- 150 FOR I=1 TO NOE
- 170 PRINT " MOMENT OF INERTIA FOR ELEMENT #";I;" IS.."
- 180 INPUT AI1(I)
- 200 PRINT " LENGTH OF ELEMENT #";I;" IS.."
- 210 INPUT AL(I)
- 220 NEXT I
- 221 CLS
- 230 FOR J=1 TO NOE
- 250 PRINT " FOR ELEMENT #";J
- 260 PRINT " DO YOU WANT A CONCENTRATED LOAD ? (Y/N)"
- 280 INPUT J1$
- 290 IF(J1$ ="Y")THEN 300 ELSE 440
- 300 PRINT " HOW MANY CONCENTRATED LOADS DO YOU WANT ?"
- 310 INPUT J2(J)
- 320 SM12(J)=0
- 330 SM21(J)=0
- 340 FOR L1=1 TO J2(J)
- 350 PRINT " INTER THE VALUE OF CONCENTRATED LOAD #";L1;" IN KN"
- 360 INPUT P(J,L1)
- 370 PRINT " INTER ITS DISTANCE FROM SUPPORT #";J
- 380 INPUT DIST(J,L1)
- 390 M12(L1)=(-P(J,L1)*DIST(J,L1)*(AL(J)-DIST(J,L1))^2)/(AL(J)^2)
- 400 M21(L1)=(P(J,L1)*DIST(J,L1)^2*(AL(J)-DIST(J,L1)))/(AL(J)^2)
- 410 SM12(J)=SM12(J)+M12(L1)
- 420 SM21(J)=SM21(J)+M21(L1)
- 430 NEXT L1
- 440 M12(J)=0
- 450 M21(J)=0
- 460 PRINT " DO YOU WANT A DISTRIBUTED LOAD ? (Y/N)"
- 480 INPUT J3$
- 490 IF (J3$="Y") THEN 500 ELSE 550
- 500 PRINT " INTER THE VALUE OF THE DISTRIBUTED LOAD IN kN/m"
- 510 INPUT W(J)
- 520 M13(J)=(-W(J)*AL(J)^2)/12
- 530 M31(J)=-M13(J)
- 540 GOTO 580
- 550 M13(J)=0
- 560 M31(J)=0
- 580 MA(J)=SM12(J)+M13(J)
- 590 MB(J)=SM21(J)+M31(J)
- 591 CLS
- 600 NEXT J
- 610 FOR N6=1 TO NOS
- 620 ML(N6)=MB(N6-1)
- 630 MR(N6)=MA(N6)
- 640 NEXT N6
- 650 IF(NS1$="P") THEN 660 ELSE 690
- 660 DFR(1)=1
- 670 DFL(1)=0
- 680 GOTO 720
- 690 DFL(1)=0
- 700 DFR(1)=0
- 720 IF(NS2$="P") THEN 730 ELSE 760
- 730 DFL(NOS)=1
- 740 DFR(NOS)=0
- 750 GOTO 790
- 760 DFR(NOS)=0
- 770 DFL(NOS)=0
- 790 FOR K=2 TO NOE
- 800 DFL(K)=(AI1(K-1)/AL(K-1))/((AI1(K-1)/AL(K-1))+(AI1(K)/AL(K)))
- 810 DFR(K)=1-DFL(K)
- 820 NEXT K
- 830 FOR KI=1 TO NOS
- 840 MTL(KI)=ML(KI)
- 850 MTR(KI)=MR(KI)
- 860 NEXT KI
- 870 JJ=1
- 880 FOR II=1 TO NOS
- 890 BALML(JJ,II)=0
- 900 BALMR(JJ,II)=0
- 910 NEXT II
- 920 FOR M1=1 TO NOS
- 930 BALML(JJ,M1)=-(ML(M1)+MR(M1))*DFL(M1)
- 940 BALMR(JJ,M1)=-(ML(M1)+MR(M1))*DFR(M1)
- 950 NEXT M1
- 960 IF (JJ=6)GOTO 1090
- 970 FOR M2=1 TO NOS
- 980 COML(JJ,M2)=BALMR(JJ,M2-1)/2
- 990 COMR(JJ,M2)=BALML(JJ,M2+1)/2
- 1000 NEXT M2
- 1010 COML(JJ,1)=0
- 1020 COMR(JJ,NOS)=0
- 1030 FOR KS=1 TO NOS
- 1040 ML(KS)=COML(JJ,KS)
- 1050 MR(KS)=COMR(JJ,KS)
- 1060 NEXT KS
- 1070 JJ=JJ+1
- 1080 GOTO 880
- 1090 FOR JR=1 TO NOS
- 1100 FOR JT=1 TO JJ
- 1110 MTL(JR)=MTL(JR)+BALML(JT,JR)+COML(JT,JR)
- 1120 MTR(JR)=MTR(JR)+BALMR(JT,JR)+COMR(JT,JR)
- 1130 NEXT JT
- 1140 NEXT JR
- 1141 CLS
- 1150 PRINT "FOR SUPPORT NO. (1) :"
- 1160 PRINT "MOMENT=(";MTR(1);")"
- 1170 FOR N2=2 TO NOE
- 1190 PRINT " FOR SUPPORT NO. (";N2;") :"
- 1200 PRINT "MOMENT TO THE LEFT =(";MTR(N2);")"
- 1210 PRINT "MOMENT TO THE RIGHT=(";MTL(N2);")"
- 1220 NEXT N2
- 1230 PRINT "FOR SUPPORT NO.( ";NOS;")"
- 1240 PRINT "MOMENT=(";MTL(NOS);")"
- 1242 PT(JF)=0
- 1244 PT1(JF)=0
- 1250 FOR JF=1 TO NOS
- 1260 FOR JG=1 TO J2(JF)
- 1265 AL(NOS)=1
- 1270 PT(JF)=PT(JF)+(P(JF,JG)*DIST(JF,JG)/AL(JF))
- 1272 PT1(JF)=PT1(JF)+(P(JF,JG)*(AL(JF)-DIST(JF,JG)))/AL(JF)
- 1280 NEXT JG
- 1282 PRINT "PTOTAL(";JF;")=";PT(JF)
- 1284 PRINT "PTO1(";JF;")=";PT1(JF)
- 1290 NEXT JF
- 1295 FOR IG=1 TO NOE
- 1296 WT(IG)=W(IG)*AL(IG)/2
- 1300 NEXT IG
- 1302 FOR IX= 1 TO NOE
- 1304 MTL(IX)=MTR(IX)
- 1305 NEXT IX
- 1310 FOR IX= 1 TO NOE
- 1320 MTL(IX)=MTR(IX)
- 1330 NEXT IX
- 1333 AA=0-(MTL(NOS))
- 1334 MTL(NOS)=AA
- 1340 AL(0)=1
- 1345 AL(NOS)=1
- 1365 IF NS1$="F" THEN 1370 ELSE 1375
- 1370 MTL(1)=0
- 1375 IF NS2$="F" THEN 1377 ELSE 1380
- 1377 MTL(NOS)=0
- 1380 FOR KL=1 TO NOS
- 1383 IF AL(KL)=0 THEN 1385 ELSE 1387
- 1385 TM(KL)=0
- 1386 GOTO 1390
- 1387 TM(KL)=(MTL(KL)/AL(KL))
- 1390 NEXT KL
- 1420 FOR IZ=1 TO NOS
- 1430 R(IZ)=(W(IZ-1)*AL(IZ-1))/2 + PT(IZ-1)+ TM(IZ-1)- (MTL(IZ)/AL(IZ-1)) - TM(IZ) + (MTL(IZ+1)/AL(IZ)) + (W(IZ)*AL(IZ))/2 + PT1(IZ)
- 1440 PRINT "R(";IZ;")=";R(IZ)
- 1450 NEXT IZ
- 1480 END
-